package es.nadalgoyo.frikiquest.control;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.TextView;
import es.nadalgoyo.frikiquest.R;
import es.nadalgoyo.frikiquest.control.style.Fonts;
import es.nadalgoyo.frikiquest.vo.PuntuacionesVO;

public class ListTopControl extends AbstractControl {

	private TextView[] top = new TextView[10], puntosTop = new TextView[10];

	private TextView topTitle;

	private String titulo;

	private String tipo;

	public ListTopControl(Context context) {
		super(context);
	}

	public ListTopControl(Context context, AttributeSet att) {
		super(context, att);
	}

	@Override
	public void inicializar() {
		String infService = Context.LAYOUT_INFLATER_SERVICE;
		LayoutInflater li = (LayoutInflater) getContext().getSystemService(
				infService);

		li.inflate(R.layout.listtop, this, true);
		topTitle = (TextView) findViewById(R.id.TxtTop);

		Serializable puntuaciones = getActivity().getIntent().getExtras()
				.getSerializable(tipo);

		List<Object> listaObj = (List<Object>) Arrays
				.asList((Object[]) puntuaciones);

		topTitle.setTypeface(Fonts.getStarTrek(getAssets()));
		topTitle.setText(titulo);

		top[0] = (TextView) findViewById(R.id.TxtTop1);
		top[1] = (TextView) findViewById(R.id.TxtTop2);
		top[2] = (TextView) findViewById(R.id.TxtTop3);
		top[3] = (TextView) findViewById(R.id.TxtTop4);
		top[4] = (TextView) findViewById(R.id.TxtTop5);
		top[5] = (TextView) findViewById(R.id.TxtTop6);
		top[6] = (TextView) findViewById(R.id.TxtTop7);
		top[7] = (TextView) findViewById(R.id.TxtTop8);
		top[8] = (TextView) findViewById(R.id.TxtTop9);
		top[9] = (TextView) findViewById(R.id.TxtTop10);

		puntosTop[0] = (TextView) findViewById(R.id.TxtPuntos1);
		puntosTop[1] = (TextView) findViewById(R.id.TxtPuntos2);
		puntosTop[2] = (TextView) findViewById(R.id.TxtPuntos3);
		puntosTop[3] = (TextView) findViewById(R.id.TxtPuntos4);
		puntosTop[4] = (TextView) findViewById(R.id.TxtPuntos5);
		puntosTop[5] = (TextView) findViewById(R.id.TxtPuntos6);
		puntosTop[6] = (TextView) findViewById(R.id.TxtPuntos7);
		puntosTop[7] = (TextView) findViewById(R.id.TxtPuntos8);
		puntosTop[8] = (TextView) findViewById(R.id.TxtPuntos9);
		puntosTop[9] = (TextView) findViewById(R.id.TxtPuntos10);

		for (int i = 0; i < (listaObj.size() <= 10 ? listaObj.size()
				: top.length); i++) {
			PuntuacionesVO punto = (PuntuacionesVO) listaObj.get(i);

			puntosTop[i].setTypeface(Fonts.getStarTrek(getAssets()));
			puntosTop[i].setText(String.valueOf(punto.getPuntuacion()));

			top[i].setTypeface(Fonts.getStarTrek(getAssets()));
			top[i].setText(String.valueOf(i + 1).concat(
					". ".concat(punto.getNombre())));

		}

	}

	public void setTipoLista(String tipo) {
		this.tipo = tipo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

}